home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ADA Programming Guide
/
ADA Programming Guide.iso
/
adatutor
/
lrmrdr
/
srs.doc
< prev
next >
Wrap
Text File
|
1996-01-30
|
54KB
|
1,595 lines
<!OPS, Version = 6.4>
<!Document,
Final Output Device = "cx",
Default Printer = "nearest-cx">
<!Font Definitions,
F40 = Thames 10,
F95 = Swiss 12 Bold Italic,
F97 = Swiss 14 Bold,
F57 = Thames 18 Bold,
F101 = Swiss 18 Bold,
F84 = Swiss 10,
F22 = Typewriter 10,
F41 = Thames 10 Bold,
F53 = Thames 14 Bold,
F96 = Swiss 14,
F85 = Swiss 10 Bold,
F93 = Swiss 12 Bold,
F86 = Swiss 10 Italic,
F92 = Swiss 12>
<!Page,
Left Margin = 1 inches,
Right Margin = 1 inches,
Starting Page # = Inherit,
Hyphenation = on,
Revision Bar Placement = Left,
Feathering = off,
Max. Feathering = 8>
<!Autonumber Stream, List, 4>
<!Autonumber Stream, NList, 4>
<!Autonumber Stream, Outline, 3,
Level 1 Prefix = 3.2.>
<!Class, "|:contents_line",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F95@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<!Class, capability,
Top Margin = 0.28 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F97,
Orphan Control = 5,
Widow Control = 5,
Allow Page Break After = no,
Contents = Prefix>
<"|:capability",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, List, 3><End Sub><F0>3.2.<Autonum, List, 1>
[Capability name]
<!Class, center,
Top Margin = 0.14 inches,
Bottom Margin = 0 inches,
Line Spacing = 1.308 lines,
Alignment = Center,
Font = F57,
Left Tab = 0.50/0.50*29 Inches>
<!Class, contents,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F101,
Begin New Page = yes>
<!Class, contents_line,
Bottom Margin = 0.50 inches,
Left Margin = 1 inches,
Right Margin = 1 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F95,
Left Tab = 0.50/1.50 Inches>
<!Class, justified,
Top Margin = 0.14 inches,
Bottom Margin = 0 inches,
Line Spacing = 1.308 lines,
Font = F40,
Left Tab = 0.50/0.50*29 Inches>
<!Class, left,
Top Margin = 0.14 inches,
Bottom Margin = 0 inches,
Line Spacing = 1.308 lines,
Alignment = Left,
Font = F40,
Left Tab = 0.50/0.50*29 Inches>
<!Class, list_element,
Left Margin = 1 inches,
First Indent = -0.25 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F40>
<!Class, micro:caption,
Top Margin = 0.03 inches,
Bottom Margin = 0.03 inches,
Line Spacing = 1.114 lines,
Font = F57,
Left Tab = 0/0.50*3 Inches,
Composition = Optimum>
<!Class, right,
Top Margin = 0.14 inches,
Bottom Margin = 0 inches,
Line Spacing = 1.308 lines,
Alignment = Right,
Font = F40,
Left Tab = 0.50/0.50*29 Inches>
<!Class, sublist,
Left Margin = 0.50 inches,
First Indent = -0.25 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F40,
Left Tab = 0.50/1.50 Inches,
Contents = Prefix>
<"|:sublist",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, Outline, 2><End Sub><F0>
<!Class, title_section,
Line Spacing = 1.179 lines,
Alignment = Center,
Font = F97>
<!Class, "|:capability",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F97@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, List, 3>
<!Class, "|:list",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F84@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, NList, 1>
<!Class, "|:section",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F101@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, List, 1>
<!Class, "|:sublist",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F40@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, Outline, 2>
<!Class, "|:subsection",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F97@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, List, 2>
<!Class, "|:subsubsection",
Top Margin = 0.04 inches,
Bottom Margin = 0.04 inches,
Line Spacing = 1.162 lines,
Font = F97@i*,
Left Tab = 0/1*3 Inches,
Composition = Optimum,
Contents = Shared>
<Autonum, List, 3>
<!Class, LRM_Name,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F40@iL@iS@iU@iR@iT@iB@iP@iK@iC@iZ@iO,
Left Tab = 0.50/1.50 Inches,
Contents = Shared>
Ada LRM Reader
<!Class, codepara,
Left Margin = 0.50 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F22>
<!Class, heading,
Line Spacing = 1.179 lines,
Alignment = Center,
Font = F41>
[DCN date: Volume x of y (if multi-volume)]
<!Class, list,
Left Margin = 0.50 inches,
First Indent = -0.25 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F84,
Left Tab = 0.50/1.50 Inches,
Contents = Prefix>
<"|:list",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, NList, 1><End Sub><F0>
<!Class, paragraph,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F84,
Left Tab = 0.50/1.50 Inches>
<!Class, section,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F101,
Begin New Page = yes,
TOC Doc Name = "SRS Toc",
Contents = Prefix>
<"|:section",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, List, 1><End Sub><F0>
<!Class, subsection,
Top Margin = 0.28 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F97,
Orphan Control = 5,
Widow Control = 5,
Allow Page Break After = no,
TOC Doc Name = "SRS Toc",
Contents = Prefix>
<"|:subsection",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, List, 2><End Sub><F0>
<!Class, subsubsection,
Top Margin = 0.28 inches,
Line Spacing = 1.179 lines,
Alignment = Left,
Font = F97,
Orphan Control = 5,
Widow Control = 5,
Allow Page Break After = no,
TOC Doc Name = "SRS Toc",
Contents = Prefix>
<"|:subsubsection",
Hidden = yes,
Font = @i*,
Subcomponent = yes,
Contents = Shared><F0><Autonum, List, 3><End Sub><F0>
<!Master Frame,
Name = Bottom,
Placement = Bottom of Page,
Horizontal Alignment = Center,
Width = 6.50 inches,
Height = 3.25 inches,
Diagram =
V6,
(g9,0,0)>
<!Master Frame,
Name = "Following Anchor",
Placement = Following Anchor,
Horizontal Alignment = Center,
Width = 6.50 inches,
Height = 3.25 inches,
Diagram =
V6,
(g9,0,0)>
<!Master Frame,
Name = "Following Text",
Placement = Following Text,
Horizontal Alignment = Center,
Width = 6.50 inches,
Height = 3.25 inches,
Diagram =
V6,
(g9,0,0)>
<!Master Frame,
Name = Footnote,
Placement = Bottom of Page,
Horizontal Alignment = Left,
Same Page = yes,
Width = 6.50 inches,
Height = 0.20 inches,
Diagram =
V6,
(g9,0,0)>
<!Master Frame,
Name = Top,
Placement = Top of Page,
Horizontal Alignment = Center,
Width = 6.50 inches,
Height = 3.25 inches,
Diagram =
V6,
(g9,0,0)>
<!Master Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 0.41 inches,
Height = 0.14 inches,
Diagram =
V6,
(g9,0,0)>
<Page Header, Frame =
V6,
(g9,1,0
(T12,1,12,0.133333,0.666667,7,127,5,7,127,8,0,2,
<!Page, Width = 1.533 inches, Height = 0.193 inches>
<heading,
Font = F97>
<LRM_Name,
Font = F53@iL@iS@iU@iR@iT@iB@iP@iK@iC@iZ@iO,
Subcomponent = yes><F53>Ada LRM Reader<End Sub><F0>
<End Text>)
(t14,2,0,4.466667,0.8,0,7,0,0,,wst:swiss14b,Richard\ Conn)
(t14,3,0,2.666667,0.6,0,7,0,0,,wst:swiss18b,SRS))>
<Page Footer, Frame =
V6,
(g9,1,0
(t14,1,0,3.333333,0.626667,1,7,0,0,,wst:swiss14b,\X80a0))>
<section>
<|,1><"|:section", Subcomponent = yes><F0><Autonum, List, 1, First = Yes, Restart = Yes, Value = 1.><End Sub>
<F0> Scope
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
is a tool for browsing through an online copy of the Ada Language
Reference Manual (LRM). This tool shall allow a user to interactively
view the Ada LRM, search for strings, and move through the Ada LRM
with ease. Ease of human interface is a chief concern.
<paragraph,
Top Margin = 0.07 inches,
Bottom Margin = 0.07 inches,
Line Spacing = 1.308 lines,
Alignment = Both,
Left Tab = 0/0.75*29 Inches>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
is a program (composed of a single CSCI) which interacts with a user
through a command-line and a line-oriented editor to display information
in the Ada Language Reference Manual (LRM) to the user one screen
at a time. The major components of this environment are:<HR>
<HR>
<Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 6.50 inches,
Height = 5 inches,
Diagram =
V6,
(g9,1,0
(v6,1,0,0.4,1.066667,0.8,1.066667,7,0,8,0)
(v6,2,0,0.8,1.066667,1.066667,0.4,7,0,8,0)
(v6,3,0,1.066667,0.4,1.6,0.4,7,0,8,0)
(v6,4,0,1.6,0.4,1.6,1.2,7,0,8,0)
(v6,5,0,1.6,1.2,0.4,1.2,7,0,8,0)
(v6,6,0,0.4,1.2,0.4,1.066667,7,0,8,0)
(p8,8,8,5,7,127
(g9,8,0
(g9,8,0
(v6,8,65536,2.4,0.4,6,0.4,7,0,8,0)
(v6,9,65536,6,0.4,6,4.8,7,0,8,0)
(v6,10,65536,6,4.8,2.4,4.8,7,0,8,0)
(v6,11,65536,2.4,4.8,2.4,0.4,7,0,8,0))))
(p8,13,8,5,7,127
(g9,13,0
(g9,13,0
(v6,13,65536,2.8,1.2,4.4,1.2,7,0,8,0)
(v6,14,65536,4.4,1.2,4.4,3.6,7,0,8,0)
(v6,15,65536,4.4,3.6,2.8,3.6,7,0,8,0)
(v6,16,65536,2.8,3.6,2.8,1.2,7,0,8,0))))
(e8,17,0,4.8,0.933333,5.733333,0.933333,4.8,1.466667,7,127,5,7,0,8,0)
(e8,18,0,4.8,2.133333,5.733333,2.133333,4.8,2.666667,7,127,5,7,0,8,0)
(v6,19,0,4.8,1.2,4.8,2.4,7,0,8,0)
(v6,20,0,5.733333,1.2,5.733333,2.4,7,0,8,0)
(v6,21,0,5.2,2.666667,5.2,3.2,7,0,8,0)
(v6,22,0,5.2,3.2,4.4,3.2,7,0,8,0)
(v6,25,0,3.6,1.2,3.6,0.8,7,0,8,0)
(v6,26,0,3.6,0.8,1.6,0.8,7,0,8,0)
(v6,29,0,0.6,1.2,0.6,2,7,0,8,0)
(v6,30,0,0.6,2,2.8,2,7,0,8,0)
(t14,33,0,1.066667,0.733333,0,7,0,0,,wst:swiss10,User)
(t14,34,0,1.066667,0.866667,0,7,0,0,,wst:swiss10,CRT)
(t14,35,0,1.066667,1,0,7,0,0,,wst:swiss10,and)
(t14,36,0,0.933333,1.133333,0,7,0,0,,wst:swiss10,Keyboard)
(t14,37,0,4.266667,4.666667,0,7,0,0,,wst:swiss14,PC\ or\ Workstation)
(t14,38,0,2.933333,1.466667,0,7,0,0,,wst:swiss10,Ada\ LRM\ Reader)
(t14,39,0,4.866667,1.733333,0,7,0,0,,wst:swiss10,Disks:)
(t14,40,0,2.466667,0.666667,0,7,0,0,,wst:swiss10,VT100\ Commands\ and\ Text)
(t14,41,0,1.2,1.866667,0,7,0,0,,wst:swiss10,Text\ Lines)
(t14,42,0,4.866667,3.4,0,7,0,0,,wst:swiss10,Citation\ Info)
(v6,43,0,4.4,2.133333,4.8,2.133333,7,0,8,0)
(t14,46,0,4.466667,2.466667,0,7,0,0,,wst:swiss10,Print)
(t14,47,0,4.466667,2.6,0,7,0,0,,wst:swiss10,Log)
(t14,48,0,4.466667,2.733333,0,7,0,0,,wst:swiss10,File)
(t14,49,0,4.466667,2.866667,0,7,0,0,,wst:swiss10,Entries)
(t14,50,0,4.933333,1.866667,0,7,0,0,,wst:swiss10,Citations)
(t14,51,0,4.933333,2,0,7,0,0,,wst:swiss10,Print\ Log\ File)
(g9,120,8
(v6,120,0,2.8,2,2.6,2,7,0,8,0)
(g9,122,1025
(p8,122,0,5,7,0
(g9,122,0
(g9,122,0
(v6,122,0,2.649648,2.054725,2.8,2,7,0,8,0)
(v6,123,0,2.8,2,2.649648,1.945277,7,0,8,0)
(v6,124,0,2.649648,1.945277,2.681722,2,7,0,8,0)
(v6,125,0,2.681722,2,2.649648,2.054725,7,0,8,0))))
(v6,126,25167905,2.8,2,2.8,2,7,127,8,0)))
(g9,127,8
(v6,127,0,4.8,2.133333,4.6,2.133333,7,0,8,0)
(g9,129,1025
(p8,129,0,5,7,0
(g9,129,0
(g9,129,0
(v6,129,0,4.649648,2.188058,4.8,2.133333,7,0,8,0)
(v6,130,0,4.8,2.133333,4.649648,2.07861,7,0,8,0)
(v6,131,0,4.649648,2.07861,4.681722,2.133333,7,0,8,0)
(v6,132,0,4.681722,2.133333,4.649648,2.188058,7,0,8,0))))
(v6,133,25167905,4.8,2.133333,4.8,2.133333,7,127,8,0)))
(g9,134,8
(v6,134,0,1.6,0.8,1.8,0.8,7,0,8,0)
(g9,136,1025
(p8,136,0,5,7,0
(g9,136,0
(g9,136,0
(v6,136,0,1.750352,0.745275,1.6,0.8,7,0,8,0)
(v6,137,0,1.6,0.8,1.750352,0.854723,7,0,8,0)
(v6,138,0,1.750352,0.854723,1.718278,0.8,7,0,8,0)
(v6,139,0,1.718278,0.8,1.750352,0.745275,7,0,8,0))))
(v6,140,25167905,1.6,0.8,1.6,0.8,7,127,8,0)))
(g9,148,8
(v6,148,0,4.4,3.2,4.6,3.2,7,0,8,0)
(g9,150,1025
(p8,150,0,5,7,0
(g9,150,0
(g9,150,0
(v6,150,0,4.550352,3.145275,4.4,3.2,7,0,8,0)
(v6,151,0,4.4,3.2,4.550352,3.254723,7,0,8,0)
(v6,152,0,4.550352,3.254723,4.518278,3.2,7,0,8,0)
(v6,153,0,4.518278,3.2,4.550352,3.145275,7,0,8,0))))
(v6,154,25167905,4.4,3.2,4.4,3.2,7,127,8,0)))
(E15,0,0,5,8,1,0.053333,1,15,0,0,1,0,0,0,1,7,127,7,0,0,7,1,1,1,0.066667,0.06666
7,6,6,0,0.066667,6))>
<paragraph>
A machine-readable copy of the Ada LRM is available from the Ada Software
Repository at White Sands. This will be used as a basis for the data
accessed by the program.
<paragraph>
The target user will be assumed to have a VT100-style display terminal
or VT100 emulation capabilities. The user will be using this tool
in one of several modes:
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, First = Yes, Restart = Yes, Value = 1.><End Sub>
<F0> As a user on a UNIX workstation running in a VT100 emulator window,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 2.><End Sub>
<F0> As a user accessing a UNIX workstation remotely, also running
a VT100 or VT100 emulator on a PC, and
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 3.><End Sub>
<F0> As a user on a PC running the Ada LRM Reader on the PC.
<paragraph>
<|,2>Since the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
is to run on a UNIX workstation or a PC, the code of the reader shall
be written to be portable. In addition, this code shall be written
in Ada.
<paragraph>
The CS Parts catalog of Ada software components is a trusted, reliable
library of components which may be used on this project. It is available
from the Ada Software Repository at White Sands.
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
is a single program written in Ada and will be considered to be a
single CSCI. This CSCI includes:
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Restart = Yes, Value = 1.><End Sub>
<F0> The source code, in Ada, of the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0>
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 2.><End Sub>
<F0> All data files needed by the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0>
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 3.><End Sub>
<F0> All source files and programs used to create the data files needed
by the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 4.><End Sub>
<F0> All documentation associated with the <LRM_Name, Subcomponent = yes><F40>A
da LRM Reader<End Sub><F0>
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 5.><End Sub>
<F0> Installation instructions for compiling the setting up the
<LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0> for
a PC or UNIX platform
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 6.><End Sub>
<F0> A complete executable version of the <LRM_Name, Subcomponent = yes><F40>Ad
a LRM Reader<End Sub><F0> with its associated data files and installation
instructions which is ready to run on a PC under MSDOS 3.3 or higher
<section>
<|,3><"|:section", Subcomponent = yes><F0><Autonum, List, 1, Value = 2.><End Sub>
<F0> References
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 2.1.><End Sub>
<F0> Documents
<paragraph>
The following documents of the exact issue shown form a part of this
specification to the extent specified herein. In the event of conflict
between the documents referenced herein and the contents of this specification,
the contents of this specification shall be considered a superseding
requirement.
<paragraph>
Conn, Richard, <F85>Software User's Manual for the CS Parts -- A Catalog
of Reusable Ada Software Components for General Purpose Use and Computer
Science and Computer Engineering Education<F0>, March 1991, Ada Software
Repository, White Sands Missile Range, New Mexico and University of
Cincinnati, Department of Electrical and Computer Engineering, Mail
Location 30, Cincinnati, Ohio 45221.
<paragraph>
Conn, Richard, <F85>Software User's Manual for the
<LRM_Name,
Font = F41@iL@iS@iU@iR@iT@iB@iP@iK@iC@iZ@iO,
Subcomponent = yes><F41>Ada LRM Reader<End Sub><F0>, University
of Cincinnati, Department of Electrical and Computer Engineering,
Mail Location 30, Cincinnati, Ohio 45221.
<paragraph>
Nyberg, Karl (editor), <F85>The Annotated Ada Reference Manual<F0>,
ANSI/MIL-STD-1815A-1983, 1989, Grebyn Corporation, P.O. Box 497, Vienna,
VA 22183
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 2.2.><End Sub>
<F0> Internet host computers
<paragraph,
Top Margin = 0.14 inches>
The Ada Software Repository is located on the host computer named:
<paragraph,
Alignment = Center,
Font = F93>
WSMR-SIMTEL20.ARMY.MIL
<paragraph>
This computer recognizes the Internet anonymous login convention (user
name "anonymous", password "guest") for FTP file transfers. Once
logged in via FTP, the root directory is PD2:<<ADA>, and the subdirectory
PD2:<<ADA.MASTER-INDEX> contains softcopy of a document which describes
all items in the Ada Software Repository.
<paragraph>
A mirror copy of the Ada Software Repository is located on the host
computer named:
<paragraph,
Alignment = Center,
Font = F93>
WUARCHIVE.WUSTL.EDU
<paragraph>
This computer also recognizes the Internet anonymous login convention,
although it is preferred that the user give "account_name@host" as
his password so the user may be later identified. Once logged in
via FTP, the root directory is mirrors2/ada, and the subdirectory
mirrors2/ada/master-index contains the same softcopy document described
above.
<subsection,
Top Margin = 0 inches,
Orphan Control = 2,
Widow Control = 2,
Allow Page Break After = yes>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 2.3.><End Sub>
<F0> Terminology
<paragraph,
Alignment = Both,
Left Tab = 0/0.75*29 Inches>
The following application-specific terms are defined below in order
to better follow this document:
<paragraph,
Alignment = Both,
Left Tab = 0/0.75*29 Inches>
<F93>Citation<F0> - A body of text in the Ada LRM or an LRM Support
File which is uniquely identified by a numeric reference or a keyword
(these are called citation labels). For example, the citation identified
by 4 is:
<codepara>
4. Names and Expressions<HR>
<HR>
<HR>
The rules applicable to the different forms of name and expression,
and<HR>
to their evaluation, are given in this chapter.
<paragraph,
Alignment = Both,
Left Tab = 0/1/1.50/0.75*27 Inches>
<|,4><F93>Citation Label<F0> - A numeric reference or a keyword which
identifies a citation. For example, 4 is the citation label for the
above citation. Valid citation labels take the following forms:<HR>
<HR>
<F86>Label<Tab>Refers to<F0><HR>
n<Tab>Chapter (1-14)<HR>
n.n<Tab>Chapter and Section<HR>
n.n.n<Tab>Chapter, Section, and Subsection<HR>
letter<Tab>Appendix (A-F)<HR>
CONTENTS<Tab>Table of Contents<HR>
INDEX<Tab>Index<HR>
FOREWARD<Tab>Foreward<HR>
POSTSCRIPT<Tab>Postscript<HR>
HELP<Tab>Online help screens for the Ada LRM Reader<HR>
ABOUT<Tab>Online program description of the Ada LRM Reader
<paragraph,
Alignment = Both,
Left Tab = 0/0.75*29 Inches>
<F93>Citation ID<F0> - An alphabetic reference used in the CITATION_ID
enumeration type which maps to a citation label. Citation IDs are
discussed in the Software Design Document for the Ada LRM Reader.
Each citation label has one and only one citation ID.
<section>
<|,5><"|:section", Subcomponent = yes><F0><Autonum, List, 1, Value = 3.><End Sub>
<F0> Engineering requirements
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.1.><End Sub>
<F0> CSCI external interface requirements
<paragraph>
The principal interface to this CSCI shall be an ASCII character stream
coming from standard input (usually a user's keyboard, but a data
file may be used for testing) and an ASCII character stream going
to standard output (usually a user's VT100-compatible display).
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.2.><End Sub>
<F0> CSCI capability requirements
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
is a tool which allows an Ada programmer or designer to reference
the Ada Language Reference Manual (LRM) online. Details on how to
invoke and use the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub>
<F0> are given in the "Software User's Manual for the<F85>
<LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>."
This document will be viewed as an extension to this Software Requirements
Specification. It is recommended that the reader review the SUM to
understand the terminology and use of the <LRM_Name, Subcomponent = yes><F40>Ad
a LRM Reader<End Sub><F0>.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.2.1.><End Sub>
<F0> Display citations
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
shall be able to display any valid citation presented by the user
on the command line or at the command prompt. This citations include
chapter numbers (n), chapter and section numbers (n.n), and chapter,
section, and subsection numbers (n.n.n). In addition, special parts
of the LRM shall be accessed by giving their names: CONTENTS, INDEX,
POSTSCRIPT, and FOREWARD.
<paragraph>
The user shall be able to display a citation in two ways: (1) by moving
into it, leaving the current citation, and (2) by pushing into it,
marking his place on a Location Stack and then moving into it. If
the user pushes into a citation, he shall be able to return to his
previous location by issuing a POP command. The Location Stack used
shall be at least 10 levels deep.
<paragraph>
Online documentation shall be viewed by issuing a HELP command. The
HELP command shall do a push into a set of help screens (the "Help
Citation") which explain how to use the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0>.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.2.2.><End Sub>
<F0> Print citations
<paragraph>
The user of the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub>
<F0> shall be able to print either (1) the entire citation he is currently
viewing or (2) the screen he is currently viewing. The print process
shall involve creating a file named LRM.LOG, writing a banner into
the log file which identifies the citation or the citation and screen,
and storing the text lines into the log file.
<paragraph>
When the user issues the QUIT command, the <LRM_Name, Subcomponent = yes><F40>A
da LRM Reader<End Sub><F0> shall close the log file before exiting.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.2.3.><End Sub>
<F0> Movement within and between citations
<paragraph>
The user of the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub>
<F0> shall be able to move to the next screen and previous screen
of the current citation. The citations start with Chapter 1 and go
through Chapter 14, followed by Appendices A through F. The user
shall also be able to move to the next and the previous citation.
<paragraph>
<|,6>When the user is in the CONTENTS, INDEX, POSTSCRIPT, FOREWARD,
HELP, and ABOUT citations, there is, by definition, no "next" or "previous"
citation.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.2.4.><End Sub>
<F0> String searches
<paragraph>
The user of the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub>
<F0> shall be able to search for a given string from either the first
line of the current citation or the next line (assuming that a previous
search command was issued) of the current citation. The search extends
from the indicated line to the last line of the current citation.
<paragraph>
The search commands may be given with or without an argument. If
given with an argument, the indicated string will be used in the search.
If given with no argument, the last string given will be used in the
search.
<paragraph>
When the string is found, the screen containing the string will be
displayed to the user and the line containing the string will be indicated
by a less than symbol (<<) in column 79 of that line.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.2.5.><End Sub>
<F0> Other capabilities
<paragraph>
A refresh command shall refresh the current screen.
<paragraph>
A pause command shall delay execution of the <LRM_Name, Subcomponent = yes>
<F40>Ada LRM Reader<End Sub><F0> for about 5 seconds. This command
is used in batch files redirected from standard input to test the
<LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>.
<subsection,
Begin New Page = yes>
<|,7><"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.3.><End Sub>
<F0> Entity relationships
<paragraph>
The following diagram depicts the principal entities in this system
and their relationships to each other.<HR>
<Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 6.50 inches,
Height = 8 inches,
Diagram =
V6,
(g9,1,0
(g9,1,0
(v6,1,0,5.466667,0.533333,5.866667,0.933333,7,0,8,0)
(v6,2,0,5.866667,0.933333,5.466667,1.333333,7,0,8,0)
(v6,3,0,5.466667,1.333333,5.066667,0.933333,7,0,8,0)
(v6,4,0,5.066667,0.933333,5.466667,0.533333,7,0,8,0))
(p8,6,8,5,5,127
(g9,6,0
(g9,6,0
(v6,6,65536,0.4,0.533333,2,0.533333,7,0,8,0)
(v6,7,65536,2,0.533333,2,1.333333,7,0,8,0)
(v6,8,65536,2,1.333333,0.4,1.333333,7,0,8,0)
(v6,9,65536,0.4,1.333333,0.4,0.533333,7,0,8,0))))
(p8,11,8,5,5,127
(g9,11,0
(g9,11,0
(v6,11,65536,0.4,2.066667,2,2.066667,7,0,8,0)
(v6,12,65536,2,2.066667,2,2.866667,7,0,8,0)
(v6,13,65536,2,2.866667,0.4,2.866667,7,0,8,0)
(v6,14,65536,0.4,2.866667,0.4,2.066667,7,0,8,0))))
(t14,15,0,0.733333,2.533333,0,7,0,0,,wst:swiss10,User\ Keyboard)
(g9,16,0
(v6,16,0,3.333333,2.066667,3.733334,2.466667,7,0,8,0)
(v6,17,0,3.733334,2.466667,3.333333,2.866667,7,0,8,0)
(v6,18,0,3.333333,2.866667,2.933333,2.466667,7,0,8,0)
(v6,19,0,2.933333,2.466667,3.333333,2.066667,7,0,8,0))
(p8,21,8,5,5,127
(g9,21,0
(g9,21,0
(v6,21,65536,4.666667,2.066667,6.266667,2.066667,7,0,8,0)
(v6,22,65536,6.266667,2.066667,6.266667,2.866667,7,0,8,0)
(v6,23,65536,6.266667,2.866667,4.666667,2.866667,7,0,8,0)
(v6,24,65536,4.666667,2.866667,4.666667,2.066667,7,0,8,0))))
(v6,25,0,2,2.466667,2.933333,2.466667,7,0,8,0)
(v6,26,0,3.733334,2.466667,4.666667,2.466667,7,0,8,0)
(t14,29,0,4.933333,2.466667,0,7,0,0,,wst:swiss10,Ada\ LRM\ Reader)
(t14,30,0,2.733333,2.333333,0,7,0,0,,wst:swiss10,Sends\ Characters\ to)
(g9,31,0
(v6,31,0,5.466667,3.266667,5.866667,3.666667,7,0,8,0)
(v6,32,0,5.866667,3.666667,5.466667,4.066667,7,0,8,0)
(v6,33,0,5.466667,4.066667,5.066667,3.666667,7,0,8,0)
(v6,34,0,5.066667,3.666667,5.466667,3.266667,7,0,8,0))
(p8,36,8,5,5,127
(g9,36,0
(g9,36,0
(v6,36,65536,4.666667,4.4,6.266667,4.4,7,0,8,0)
(v6,37,65536,6.266667,4.4,6.266667,5.2,7,0,8,0)
(v6,38,65536,6.266667,5.2,4.666667,5.2,7,0,8,0)
(v6,39,65536,4.666667,5.2,4.666667,4.4,7,0,8,0))))
(t14,40,0,4.933333,4.8,0,7,0,0,,wst:swiss10,LRM\ Data\ Files)
(v6,41,0,5.466667,2.866667,5.466667,3.266667,7,0,8,0)
(v6,42,0,5.466667,4.066667,5.466667,4.4,7,0,8,0)
(t14,45,0,4.6,3.6,0,7,0,0,,wst:swiss10,Extracts\ Screen\ Displays\ from)
(p8,47,8,5,5,127
(g9,47,0
(g9,47,0
(v6,47,65536,2.133333,4.4,3.733333,4.4,7,0,8,0)
(v6,48,65536,3.733333,4.4,3.733333,5.2,7,0,8,0)
(v6,49,65536,3.733333,5.2,2.133333,5.2,7,0,8,0)
(v6,50,65536,2.133333,5.2,2.133333,4.4,7,0,8,0))))
(g9,51,0
(v6,51,0,3,3.2,3.400001,3.6,7,0,8,0)
(v6,52,0,3.400001,3.6,3,4,7,0,8,0)
(v6,53,0,3,4,2.6,3.6,7,0,8,0)
(v6,54,0,2.6,3.6,3,3.2,7,0,8,0))
(v6,55,0,5,2.866667,5,3,7,0,8,0)
(v6,56,0,5,3,3,3,7,0,8,0)
(v6,57,0,3,3,3,3.2,7,0,8,0)
(v6,58,0,3,4,3,4.4,7,0,8,0)
(t14,61,0,2.2,3.533333,0,7,0,0,,wst:swiss10,Extracts\ Screen\ Displays\ from)
(t14,62,0,2.4,4.733333,0,7,0,0,,wst:swiss10,Ada\ LRM\ Reader)
(t14,63,0,2.6,4.933333,0,7,0,0,,wst:swiss10,Support\ Files)
(v6,64,0,5.466667,2.066667,5.466667,1.333333,7,0,8,0)
(v6,65,0,5.066667,0.933333,2,0.933333,7,0,8,0)
(t14,68,0,0.666667,0.933333,0,7,0,0,,wst:swiss10,User\ VT100\ Display)
(t14,69,0,4.6,0.866667,0,7,0,0,,wst:swiss10,Sends\ VT100\ Commands\ and)
(t14,70,0,5.266667,1,0,7,0,0,,wst:swiss10,Text\ to)
(g9,71,0
(v6,71,0,5.466666,5.6,5.866667,6,7,0,8,0)
(v6,72,0,5.866667,6,5.466666,6.4,7,0,8,0)
(v6,73,0,5.466666,6.4,5.066666,6,7,0,8,0)
(v6,74,0,5.066666,6,5.466666,5.6,7,0,8,0))
(p8,76,8,5,5,127
(g9,76,0
(g9,76,0
(v6,76,65536,4.666666,6.733333,6.266666,6.733333,7,0,8,0)
(v6,77,65536,6.266666,6.733333,6.266666,7.533333,7,0,8,0)
(v6,78,65536,6.266666,7.533333,4.666666,7.533333,7,0,8,0)
(v6,79,65536,4.666666,7.533333,4.666666,6.733333,7,0,8,0))))
(v6,80,0,5.466666,5.2,5.466666,5.6,7,0,8,0)
(v6,81,0,5.466666,6.4,5.466666,6.733333,7,0,8,0)
(g9,84,0
(v6,84,0,3,5.6,3.400001,6,7,0,8,0)
(v6,85,0,3.400001,6,3,6.4,7,0,8,0)
(v6,86,0,3,6.4,2.6,6,7,0,8,0)
(v6,87,0,2.6,6,3,5.6,7,0,8,0))
(p8,89,8,5,5,127
(g9,89,0
(g9,89,0
(v6,89,65536,2.2,6.733333,3.8,6.733333,7,0,8,0)
(v6,90,65536,3.8,6.733333,3.8,7.533333,7,0,8,0)
(v6,91,65536,3.8,7.533333,2.2,7.533333,7,0,8,0)
(v6,92,65536,2.2,7.533333,2.2,6.733333,7,0,8,0))))
(v6,93,0,3,5.2,3,5.6,7,0,8,0)
(v6,94,0,3,6.4,3,6.733333,7,0,8,0)
(t14,97,0,5.2,7.133333,0,7,0,0,,wst:swiss10,Citations)
(t14,98,0,5.2,6.066667,0,7,0,0,,wst:swiss10,Contain)
(t14,99,0,2.733333,6.066667,0,7,0,0,,wst:swiss10,Contain)
(t14,100,0,2.333333,7,0,7,0,0,,wst:swiss10,Help\ Display\ "Citation")
(p8,102,8,5,5,127
(g9,102,0
(g9,102,0
(v6,102,65536,2.266667,1.066667,3.866667,1.066667,7,0,8,0)
(v6,103,65536,3.866667,1.066667,3.866667,1.866667,7,0,8,0)
(v6,104,65536,3.866667,1.866667,2.266667,1.866667,7,0,8,0)
(v6,105,65536,2.266667,1.866667,2.266667,1.066667,7,0,8,0))))
(g9,106,0
(v6,106,0,5,1.000001,5.400001,1.4,7,0,8,0)
(v6,107,0,5.400001,1.4,5,1.8,7,0,8,0)
(v6,108,0,5,1.8,4.599999,1.4,7,0,8,0)
(v6,109,0,4.599999,1.4,5,1.000001,7,0,8,0))
(v6,110,0,5,1.8,5,2.066667,7,0,8,0)
(v6,111,0,4.599999,1.4,3.866667,1.4,7,0,8,0)
(t14,114,0,2.666667,1.466667,0,7,0,0,,wst:swiss10,Print\ Log\ File)
(t14,115,0,4.6,1.6,0,7,0,0,,wst:swiss10,Sends\ Text\ to)
(t14,116,0,2.266667,7.2,0,7,0,0,,wst:swiss10,About\ Display\ "Citation")
(g9,185,8
(v6,185,0,2,0.933333,2.2,0.933333,7,0,8,0)
(g9,187,1025
(p8,187,0,5,7,0
(g9,187,0
(g9,187,0
(v6,187,0,2.150352,0.878608,2,0.933333,7,0,8,0)
(v6,188,0,2,0.933333,2.150352,0.988057,7,0,8,0)
(v6,189,0,2.150352,0.988057,2.118278,0.933333,7,0,8,0)
(v6,190,0,2.118278,0.933333,2.150352,0.878608,7,0,8,0))))
(v6,191,25167905,2,0.933333,2,0.933333,7,127,8,0)))
(g9,192,8
(v6,192,0,3.866667,1.4,4.066667,1.4,7,0,8,0)
(g9,194,1025
(p8,194,0,5,7,0
(g9,194,0
(g9,194,0
(v6,194,0,4.017019,1.345275,3.866667,1.4,7,0,8,0)
(v6,195,0,3.866667,1.4,4.017019,1.454723,7,0,8,0)
(v6,196,0,4.017019,1.454723,3.984945,1.4,7,0,8,0)
(v6,197,0,3.984945,1.4,4.017019,1.345275,7,0,8,0))))
(v6,198,25167905,3.866667,1.4,3.866667,1.4,7,127,8,0)))
(g9,199,8
(v6,199,0,4.666667,2.466667,4.466667,2.466667,7,0,8,0)
(g9,201,1025
(p8,201,0,5,7,0
(g9,201,0
(g9,201,0
(v6,201,0,4.516314,2.521392,4.666667,2.466667,7,0,8,0)
(v6,202,0,4.666667,2.466667,4.516314,2.411943,7,0,8,0)
(v6,203,0,4.516314,2.411943,4.548389,2.466667,7,0,8,0)
(v6,204,0,4.548389,2.466667,4.516314,2.521392,7,0,8,0))))
(v6,205,25167905,4.666667,2.466667,4.666667,2.466667,7,127,8,0)))
(g9,206,8
(v6,206,0,3,4.4,3,4.2,7,0,8,0)
(g9,208,1025
(p8,208,0,5,7,0
(g9,208,0
(g9,208,0
(v6,208,0,2.945275,4.249648,3,4.4,7,0,8,0)
(v6,209,0,3,4.4,3.054723,4.249648,7,0,8,0)
(v6,210,0,3.054723,4.249648,3,4.281722,7,0,8,0)
(v6,211,0,3,4.281722,2.945275,4.249648,7,0,8,0))))
(v6,212,25167905,3,4.4,3,4.4,7,127,8,0)))
(g9,213,8
(v6,213,0,5.466667,4.4,5.466667,4.2,7,0,8,0)
(g9,215,1025
(p8,215,0,5,7,0
(g9,215,0
(g9,215,0
(v6,215,0,5.411943,4.249648,5.466667,4.4,7,0,8,0)
(v6,216,0,5.466667,4.4,5.521391,4.249648,7,0,8,0)
(v6,217,0,5.521391,4.249648,5.466667,4.281722,7,0,8,0)
(v6,218,0,5.466667,4.281722,5.411943,4.249648,7,0,8,0))))
(v6,219,25167905,5.466667,4.4,5.466667,4.4,7,127,8,0)))
(g9,220,8
(v6,220,0,5.466666,6.733333,5.466666,6.533333,7,0,8,0)
(g9,222,1025
(p8,222,0,5,7,0
(g9,222,0
(g9,222,0
(v6,222,0,5.411941,6.582981,5.466666,6.733333,7,0,8,0)
(v6,223,0,5.466666,6.733333,5.521389,6.582981,7,0,8,0)
(v6,224,0,5.521389,6.582981,5.466666,6.615055,7,0,8,0)
(v6,225,0,5.466666,6.615055,5.411941,6.582981,7,0,8,0))))
(v6,226,25167905,5.466666,6.733333,5.466666,6.733333,7,127,8,0)))
(g9,227,8
(v6,227,0,3,6.733333,3,6.533333,7,0,8,0)
(g9,229,1025
(p8,229,0,5,7,0
(g9,229,0
(g9,229,0
(v6,229,0,2.945275,6.582981,3,6.733333,7,0,8,0)
(v6,230,0,3,6.733333,3.054723,6.582981,7,0,8,0)
(v6,231,0,3.054723,6.582981,3,6.615055,7,0,8,0)
(v6,232,0,3,6.615055,2.945275,6.582981,7,0,8,0))))
(v6,233,25167905,3,6.733333,3,6.733333,7,127,8,0))))>
<subsection,
Begin New Page = yes>
<|,8><"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.4.><End Sub>
<F0> CSCI data element requirements
<paragraph>
<Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 6.50 inches,
Height = 5 inches,
Diagram =
V6,
(g9,1,0
(g9,1,0
(v6,1,0,0.2,0.266667,2.2,0.266667,7,0,8,0)
(v6,2,0,0.2,0.666667,2.2,0.666667,7,0,8,0))
(g9,3,0
(v6,3,0,4.066667,0.266667,6.066667,0.266667,7,0,8,0)
(v6,4,0,4.066667,0.666667,6.066667,0.666667,7,0,8,0))
(g9,5,0
(v6,5,0,4.44,4.133334,6.44,4.133334,7,0,8,0)
(v6,6,0,4.44,4.533333,6.44,4.533333,7,0,8,0))
(g9,7,0
(v6,7,0,0.066667,4.133334,2.066667,4.133334,7,0,8,0)
(v6,8,0,0.066667,4.533333,2.066667,4.533333,7,0,8,0))
(e8,9,0,1.586667,0.786667,4.386667,0.786667,1.586667,3.613333,7,127,5,7,0,8,0)
(v6,10,0,1.213333,0.666667,1.213333,1.626667,7,0,8,0)
(v6,11,0,1.213333,1.626667,1.733333,1.626667,7,0,8,0)
(v6,12,0,5.08,0.666667,5.08,1.6,7,0,8,0)
(v6,13,0,5.08,1.6,4.24,1.6,7,0,8,0)
(v6,14,0,5.053333,4.133333,5.053333,2.813333,7,0,8,0)
(v6,15,0,5.053333,2.813333,4.24,2.813333,7,0,8,0)
(v6,16,0,1.213333,4.133333,1.213333,2.786667,7,0,8,0)
(v6,17,0,1.213333,2.786667,1.733333,2.786667,7,0,8,0)
(t14,38,0,0.333333,1.093333,0,7,0,0,,wst:swiss10,Characters)
(t14,39,0,5.306667,1.04,0,7,0,0,,wst:swiss10,VT100\ Commands)
(t14,40,0,5.386667,1.613333,0,7,0,0,,wst:swiss10,Text)
(t14,41,0,5.32,3.173333,0,7,0,0,,wst:swiss10,Citations)
(t14,42,0,0.12,3.44,0,7,0,0,,wst:swiss10,Help\ "citation")
(t14,43,0,2.333333,2.186667,0,7,0,0,,wst:swiss14,Ada\ LRM\ Reader)
(t14,44,0,0.693333,0.52,0,7,0,0,,wst:swiss10,User\ Keyboard)
(t14,45,0,4.466667,0.493333,0,7,0,0,,wst:swiss10,User\ VT100\ Display)
(t14,46,0,0.106667,4.373333,0,7,0,0,,wst:swiss10,Ada\ LRM\ Reader\ Support\ Fil
es)
(t14,47,0,4.933333,4.373333,0,7,0,0,,wst:swiss10,LRM\ Data\ Files)
(g9,48,0
(v6,48,0,2.266667,4.133334,4.266667,4.133334,7,0,8,0)
(v6,49,0,2.266667,4.533333,4.266667,4.533333,7,0,8,0))
(t14,50,0,2.773333,4.373333,0,7,0,0,,wst:swiss10,Print\ Log\ File)
(v6,51,0,2.986667,3.613333,2.986667,4.133334,7,0,8,0)
(t14,56,0,3.24,3.88,0,7,0,0,,wst:swiss10,Text)
(g9,125,8
(v6,125,0,3.093333,4.133334,3.093333,3.733334,7,0,8,0)
(g9,127,1025
(p8,127,0,5,7,0
(g9,127,0
(g9,127,8
(v6,127,25165856,3.093332,4.002693,3.093333,4.002693,5,127,8,0)
(v6,128,0,3.093333,4.002693,3.134744,3.978784,7,0,8,0)
(v6,129,0,3.134744,3.978784,3.093333,4.133333,7,0,8,0)
(v6,130,0,3.093333,4.133333,3.051921,3.978784,7,0,8,0)
(v6,131,0,3.051921,3.978784,3.093332,4.002693,7,0,8,0))))
(v6,132,25167905,3.093333,4.133333,3.093333,4.133333,7,127,8,0))
(g9,133,1033
(e8,133,0,3.16,3.800002,3.159999,3.666667,3.026667,3.800002,0,0,5,7,0,8,0)
(v6,134,25167905,3.093333,3.733335,3.093333,3.733335,7,127,8,0)))
(g9,135,8
(v6,135,0,5.213333,2.906667,5.213333,3.306667,7,0,8,0)
(g9,137,1025
(p8,137,0,5,7,0
(g9,137,0
(g9,137,8
(v6,137,25165856,5.213335,3.037307,5.213333,3.037307,5,127,8,0)
(v6,138,0,5.213333,3.037307,5.171922,3.061216,7,0,8,0)
(v6,139,0,5.171922,3.061216,5.213333,2.906667,7,0,8,0)
(v6,140,0,5.213333,2.906667,5.254745,3.061216,7,0,8,0)
(v6,141,0,5.254745,3.061216,5.213335,3.037307,7,0,8,0))))
(v6,142,25167905,5.213333,2.906667,5.213333,2.906667,7,127,8,0))
(g9,143,1033
(e8,143,0,5.146667,3.24,5.146667,3.373333,5.28,3.24,0,0,5,7,0,8,0)
(v6,144,25167905,5.213333,3.306667,5.213333,3.306667,7,127,8,0)))
(g9,145,8
(v6,145,0,1.106667,3.12,1.106667,3.52,7,0,8,0)
(g9,147,1025
(p8,147,0,5,7,0
(g9,147,0
(g9,147,8
(v6,147,25165856,1.106668,3.25064,1.106667,3.25064,5,127,8,0)
(v6,148,0,1.106667,3.25064,1.065256,3.274549,7,0,8,0)
(v6,149,0,1.065256,3.274549,1.106667,3.12,7,0,8,0)
(v6,150,0,1.106667,3.12,1.148079,3.274549,7,0,8,0)
(v6,151,0,1.148079,3.274549,1.106668,3.25064,7,0,8,0))))
(v6,152,25167905,1.106667,3.12,1.106667,3.12,7,127,8,0))
(g9,153,1033
(e8,153,0,1.04,3.453333,1.04,3.586667,1.173333,3.453333,0,0,5,7,0,8,0)
(v6,154,25167905,1.106667,3.52,1.106667,3.52,7,127,8,0)))
(g9,155,8
(v6,155,0,5.213333,0.746667,5.213333,1.146667,7,0,8,0)
(g9,157,1025
(p8,157,0,5,7,0
(g9,157,0
(g9,157,8
(v6,157,25165856,5.213335,0.877307,5.213333,0.877307,5,127,8,0)
(v6,158,0,5.213333,0.877307,5.171922,0.901216,7,0,8,0)
(v6,159,0,5.171922,0.901216,5.213333,0.746667,7,0,8,0)
(v6,160,0,5.213333,0.746667,5.254745,0.901216,7,0,8,0)
(v6,161,0,5.254745,0.901216,5.213335,0.877307,7,0,8,0))))
(v6,162,25167905,5.213333,0.746667,5.213333,0.746667,7,127,8,0))
(g9,163,1033
(e8,163,0,5.146667,1.08,5.146667,1.213333,5.28,1.08,0,0,5,7,0,8,0)
(v6,164,25167905,5.213333,1.146667,5.213333,1.146667,7,127,8,0)))
(g9,165,8
(v6,165,0,5.2,1.306667,5.2,1.706667,7,0,8,0)
(g9,167,1025
(p8,167,0,5,7,0
(g9,167,0
(g9,167,8
(v6,167,25165856,5.200002,1.437307,5.2,1.437307,5,127,8,0)
(v6,168,0,5.2,1.437307,5.158589,1.461216,7,0,8,0)
(v6,169,0,5.158589,1.461216,5.2,1.306667,7,0,8,0)
(v6,170,0,5.2,1.306667,5.241412,1.461216,7,0,8,0)
(v6,171,0,5.241412,1.461216,5.200002,1.437307,7,0,8,0))))
(v6,172,25167905,5.2,1.306667,5.2,1.306667,7,127,8,0))
(g9,173,1033
(e8,173,0,5.133333,1.64,5.133333,1.773333,5.266667,1.64,0,0,5,7,0,8,0)
(v6,174,25167905,5.2,1.706667,5.2,1.706667,7,127,8,0)))
(g9,175,8
(v6,175,0,1.093333,1.28,1.093333,0.88,7,0,8,0)
(g9,177,1025
(p8,177,0,5,7,0
(g9,177,0
(g9,177,8
(v6,177,25165856,1.093332,1.149359,1.093333,1.149359,5,127,8,0)
(v6,178,0,1.093333,1.149359,1.134744,1.12545,7,0,8,0)
(v6,179,0,1.134744,1.12545,1.093333,1.279999,7,0,8,0)
(v6,180,0,1.093333,1.279999,1.051921,1.12545,7,0,8,0)
(v6,181,0,1.051921,1.12545,1.093332,1.149359,7,0,8,0))))
(v6,182,25167905,1.093333,1.279999,1.093333,1.279999,7,127,8,0))
(g9,183,1033
(e8,183,0,1.16,0.946667,1.159999,0.813333,1.026667,0.946667,0,0,5,7,0,8,0)
(v6,184,25167905,1.093333,0.880001,1.093333,0.880001,7,127,8,0)))
(E15,0,0,5,8,1,0.053333,1,15,0,0,1,0,0,0,1,7,127,7,0,0,7,1,0,1,0.066667,0.06666
7,6,6,0,0.066667,6))>
<paragraph>
The following are the data dictionary entries for the key data elements.
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Restart = Yes, Value = 1.><End Sub>
<F0> Character - an ASCII character
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 2.><End Sub>
<F0> Text - one or more ASCII characters
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 3.><End Sub>
<F0> Citation - a collection of information identified by (1) a chapter
number, (2) a chapter and a section number, (3) a chapter, section,
and subsection number, (4) an appendix letter, (5) one of the keywords
CONTENTS, INDEX, FOREWARD, or POSTSCRIPT, or (6) a set of help screens
or error message screens<HR>
<HR>
Consists of ASCII characters at the least
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 4.><End Sub>
<F0> VT100 Commands - the commands which cause the VT100 display or
VT100 emulator to perform an action, such as clear screen or position
cursor<HR>
<HR>
Consist of ASCII characters and are generated by routines in the Console
package of CS Parts
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 5.><End Sub>
<F0> Print Log File - an ASCII text file containing one or more citations
or citation screens preceeded by banners
<subsection>
<|,9><"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.5.><End Sub>
<F0> Adaptation requirements
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
shall be able to run on a PC, UNIX, or VAX platform supported by a
validated Ada 83 compiler.
<paragraph>
A VT100 display or emulator shall be assumed to be the display target.
This display or emulator must support at least the VT100 commands
for clear screen, position cursor, and erase to end of line.
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
shall be able to read an argument (which is an initial citation) from
the command line. The CLI package from CS Parts is to be used for
this purpose in order to help support portability of the code of the
<LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.5.1.><End Sub>
<F0> Installation-dependent data
<paragraph>
The LRM Data Files and <LRM_Name, Subcomponent = yes><F40>Ada LRM
Reader<End Sub><F0> Support Files shall be placed in a directory somewhere
on the target system. The name of this directory shall be isolated
in a System Dependencies package so that it can be easily modified
without entering the major body of code.
<subsubsection>
<"|:subsubsection", Subcomponent = yes><F0><Autonum, List, 3, Value = 3.5.2.><End Sub>
<F0> Operational parameters
<paragraph>
No extraordinary operational parameters have been identified.
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Tagname = ?g1?f294conn, Value = 3.6.><End Sub>
<F0> Sizing and timing requirements
<paragraph>
The executable of the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub>
<F0>, the Ada source code to the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0>, the LRM Data Files, and the
<LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0> Support
Files shall be able to fit (in compressed form) on a single 5 1/2"
high density (1.2M bytes) floppy disk.
<paragraph>
The LRM Data Files and the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0> Support Files shall occupy no more than 5M
bytes of disk space in uncompressed form.
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>'s
executable shall be small enough to run on an 80286 or greater PC
in 540K of memory with the MSDOS operating system version 3.3 or greater.
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
shall be able to respond to user commands as quickly as possible.
1/2 a second is a reasonable delay period.
<paragraph>
The <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
shall respond within 2 seconds after the command to execute it is
completed.
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.7.><End Sub>
<F0> Design constraints
<paragraph>
The design of this system shall be object-oriented and event-driven.
The sizing and timing requirements (Section <Ref, Auto #, Value = 3.6., Tag = ?g1?f294conn>
) are the key design constraints other than the object-oriented, event-driven
constraint. Events for the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0> may be assumed to be synchronous.
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.8.><End Sub>
<F0> Human performance/human engineering requirements
<paragraph>
The user interface shall be as described earlier.
<paragraph>
<|,10>Key to the user interface shall be an easy-to-use interface
that is intuitive to some extent and very responsive in terms of execution
speed.
<paragraph>
Ideas will be proposed if a superior user interface which meets the
user constraints is evident.
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 3.9.><End Sub>
<F0> Risk Assessment
<paragraph>
No significant risks have been identified with this project. More
than a dozen prototypes were developed during the generation of these
requirements (the Spiral Model for software development was applied),
and the final prototype was found to be able to meet these requirements
and constraints.
<paragraph>
The reusable components library CS Parts has already been ported to
the target and development platforms.
<paragraph>
The data to go into the LRM data files is available in the Ada Software
Repository at White Sands.
<section>
<|,11><"|:section", Subcomponent = yes><F0><Autonum, List, 1, Value = 4.><End Sub>
<F0> Qualification requirements
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 4.1.><End Sub>
<F0> Qualification methods
<paragraph>
Four groups of beta testers have been identified:
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Restart = Yes, Value = 1.><End Sub>
<F0> Richard Conn and Harold Carter
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 2.><End Sub>
<F0> Arthur Adamson
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 3.><End Sub>
<F0> the students in the Spring 1992 Object-Oriented Programming Class
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 4.><End Sub>
<F0> personnel in the Software Engineering Technology subsection at
GE Aircraft Engines
<paragraph>
Groups 3 and 4 shall simply use the <LRM_Name, Subcomponent = yes><F40>Ada
LRM Reader<End Sub><F0> during the normal routine of their work, reporting
problems as they are uncovered. Groups 1 and 2 shall perform exhaustive
tests on the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
which include, at a minimum, the following:
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Restart = Yes, Value = 1.><End Sub>
<F0> Executing the movement commands (next screen, previous screen,
next citation, previous citation) on the first screen of the first
citation, the last screen of the last citation, and on three or more
citations in between,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 2.><End Sub>
<F0> Executing the movement commands on the first screen, last, and
middle (if any) screens of the Help Citation and the About Citation,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 3.><End Sub>
<F0> Executing the PRINT and PS commands from the first screen of
the first citation, the last screen of the last citation, and on three
or more citations in between,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 4.><End Sub>
<F0> Executing the / and // commands from the first screen of the
first citation, the last screen of the last citation, on three or
more citations in between, on the CONTENTS citation, and on the INDEX
citation (the / and // commands will be executed with and without
arguments, including at least one test where they are executed without
arguments before a default string has been specified),
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 5.><End Sub>
<F0> Executing the PUSH command on the CONTENTS citation, the INDEX
citation, the FOREWARD citation, the POSTSCRIPT citation, the first
citation, the last citation, and three or more citations in between,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 6.><End Sub>
<F0> Executing the PUSH command until a location stack overflow occurs
and then continuing,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 7.><End Sub>
<F0> Executing the POP command like the PUSH command was executed
in items 5 and 6,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 8.><End Sub>
<F0> Executing the REFRESH and PAUSE commands several times,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 9.><End Sub>
<F0> Executing the HELP command several times,
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 10.><End Sub>
<F0> Executing the QUIT command, and
<list>
<"|:list", Subcomponent = yes><F0><Autonum, NList, 1, Value = 11.><End Sub>
<F0> Creating and executing several batch files to test the operation
of the <LRM_Name, Subcomponent = yes><F40>Ada LRM Reader<End Sub><F0>
through redirected input.
<subsection>
<"|:subsection", Subcomponent = yes><F0><Autonum, List, 2, Value = 4.2.><End Sub>
<F0> Special qualification requirements
<paragraph>
No special qualification requirements have been identified.
<section>
<|,12><"|:section", Subcomponent = yes><F0><Autonum, List, 1, Value = 5.><End Sub>
<F0> Notes
<paragraph>
<F92@U>Acronyms<F0><HR>
<HR>
<F86>Acronym<Tab>Meaning<F0><HR>
Ada LRM<Tab>Ada Language Reference Manual<HR>
ASCII<Tab><Tab>American Standard Code for Information Interchange<HR>
CLI<Tab><Tab>Command Line Interface<HR>
<<CR><Tab><Tab>Carriage Return (key or ASCII character)<HR>
CSC<Tab><Tab>Computer Software Component<HR>
CSCI<Tab><Tab>Computer Software Configuration Item<HR>
CSU<Tab><Tab>Computer Software Unit<HR>
I/O<Tab><Tab>Input/Output<HR>
LRM<Tab><Tab>Language Reference Manual (Ada)<HR>
MSDOS<Tab><Tab>Microsoft Disk Operating System (for the PC)<HR>
PC<Tab><Tab>Personal Computer (compatible with the IBM 80x86-family)<HR>
SRS<Tab><Tab>Software Requirements Specification<HR>
SUM<Tab><Tab>Software User's Manual<HR>
UNIX<Tab><Tab>an operating system (not an acronym)<HR>
VAX<Tab><Tab>Virtual Address Extended computers by Digital Equipment
Corporation<HR>
VDD<Tab><Tab>Version Description Document<HR>
VT100<Tab><Tab>Video Terminal model 100 by Digital Equipment Corporation